package com.midian.common.utils;

/**
 * 地图工具类
 * @author Mengfh
 *
 */
public class MapDistanceUtils {
	
	/**地球平均半径(单位：米)*/
	public static final int RADIUS_OF_EARTH = 6371004;

	/**
	 * 计算地球两点距离
	 * @param longt1 点1经度
	 * @param lat1   点1纬度
	 * @param longt2 点2经度
	 * @param lat2   点2纬度
	 * @return （单位：米）
	 */
	 public static double getDistance(Double longt1, Double lat1, Double longt2, Double lat2) {
		double distance = 0;
		double x, y;
		if(longt1 != null && lat1 != null && longt2 != null && lat2 != null) {
			x = (longt2 - longt1) * Math.PI * RADIUS_OF_EARTH
	                * Math.cos(((lat1 + lat2) / 2) * Math.PI / 180) / 180;
	        y = (lat2 - lat1) * Math.PI * RADIUS_OF_EARTH / 180;
	        distance = Math.hypot(x, y);
		}
        return distance;
    }
}
